{
  console.log('a',`\u0061`);
  console.log('s',`\u20BB7`);

  console.log('s',`\u{20BB7}`);


}


{
  let s='𠮷';
  console.log('length',s.length);
  console.log('0',s.charAt(0));
  console.log('1',s.charAt(1));
  console.log('at0',s.charCodeAt(0));
  console.log('at1',s.charCodeAt(1));

  let s1='𠮷a';
  console.log('length',s1.length);
  console.log('code0',s1.codePointAt(0));
  console.log('code0',s1.codePointAt(0).toString(16));
  console.log('code1',s1.codePointAt(1));
  console.log('code2',s1.codePointAt(2));
}

{
  console.log(String.fromCharCode("0x20bb7"));
  console.log(String.fromCodePoint("0x20bb7"));
}

{
  let str='\u{20bb7}abc';
  for(let i=0;i<str.length;i++){
    console.log('es5',str[i]);
  }
  for(let code of str){
    console.log('es6',code);
  }
}

{
  let str="string";
  console.log('includes',str.includes("c"));
  console.log('start',str.startsWith('str'));
  console.log('end',str.endsWith('ng'));
}

{
  let str="abc";
  console.log(str.repeat(2));
}

{
  let name="list";
  let info="hello world";
  let m=`i am ${name},${info}`;
  console.log(m);
}

{
  // 补白。。一般用于日期补白。。。日期固定的位数
  console.log('1'.padStart(2,'0'));
  console.log('1'.padEnd(2,'0'));
}

{
  let user={
    name:'list3',
    info:'hello'
  };
  //  标签模板。。防XSS攻击...渲染数据
  //  例如输入标签文本，，然后把它给过滤掉。。
  //  处理多语言转换。。。
  //   其实解释切词。。把所有字符串切成一个数组，
  console.log(abc`i am ${user.name},f${user.info}`);
  //               i am ,,,list3hello
  // function abc(s,v1,v2){
  //   console.log('s:',s,' v1:',v1,' v2:',v2);
  //     //s: [ 'i am ', ',f', '' ]  v1: list3  v2: hello
  //   console.log('sarry:',s+'');
  //     //    sarry: i am ,,f,
  //   console.log('...sarry:',...s+'');
  //     //          ...sarry: i   a m   , , f ,
  //   return s+v1+v2
  // }
  //   function abc(s,...v1){
  //       console.log('s:',s,' v1:',v1);
  //       //s: [ 'i am ', ',f', '' ]  v1: [ 'list3', 'hello' ]
  //       return s+v1
  //   }
  //    总之就一点，字符串切成数组，其他模板变量切成函数参数，也可以用数组接收
    function abc(...v1){
        console.log(' v1:',v1);
        // v1: [ [ 'i am ', ',f', '' ], 'list3', 'hello' ]
        return v1
    }
}

{
  //  使换行原样输出 Hi\n3
  console.log(String.raw`Hi\n${1+2}`);
  //换行生效
  console.log(`Hi\n${1+2}`);
    // Hi
    // 3
}
